package leetcode.singlemodel;

/**
 * @author :songyaozhang
 * @date :Created 2021/8/3 19:41
 * @description :
 */
public class Lazy {
    private Lazy(){};
    
    private static Lazy LAZY = null;

    /**
     * 保证线程同步，同一时刻只能有一个线程访问并获得实例
     * 缺点：synchronized修饰的方法，每个线程访问的时候都需要同步，但是，对象实例化的代码只需要执行一次
     * @return
     */
    public static synchronized Lazy getInstance() {
        if (LAZY == null) {
            LAZY = new Lazy();
        }
        return LAZY;
    }
}
